/*=============================================================================
  NULL_Shaders.cpp : NULL device specific implementation effectors/shaders functions implementation.
  Copyright 2001 Crytek Studios. All Rights Reserved.

  Revision history:
    * Created by Honitch Andrey

=============================================================================*/

#include "StdAfx.h"
#include "NULL_Renderer.h"
#include "I3DEngine.h"

//============================================================================

bool CShader::FXSetTechnique(const CCryNameTSCRC& szName)
{
  return true;
}

bool CShader::FXSetPSFloat(const CCryNameR& NameParam, const Vec4* fParams, int nParams)
{
  return true;
}

bool CShader::FXSetVSFloat(const CCryNameR& NameParam, const Vec4* fParams, int nParams)
{
  return true;
}

bool CShader::FXBegin(uint32 *uiPassCount, uint32 nFlags)
{
  return true;
}

bool CShader::FXBeginPass(uint32 uiPass)
{
  return true;
}

bool CShader::FXEndPass()
{
  return true;
}

bool CShader::FXEnd()
{
  return true;
}

bool CShader::FXCommit(const uint32 nFlags)
{
  return true;
}

void CShaderMan::mfFlushCurPLCombinations(bool bAll)
{

}

//===================================================================================

FXShaderCache CHWShader::m_ShaderCache;
FXShaderCacheNames CHWShader::m_ShaderCacheList;

void CRenderer::RefreshSystemShaders()
{
}

SShaderCache::~SShaderCache()
{
  CHWShader::m_ShaderCache.erase(m_Name);
  SAFE_DELETE(m_pRes[CACHE_USER]);
  SAFE_DELETE(m_pRes[CACHE_READONLY]);
}

SShaderCache *CHWShader::mfInitCache(const char *name, CHWShader *pSH, bool bCheckValid, uint32 CRC32, bool bReadOnly, bool bAsync)
{
  return NULL;
}

bool CHWShader::IsAllReleased()
{
  return true;
}

bool CHWShader::mfOptimiseCacheFile(SShaderCache *pCache, bool bForce, SOptimiseStats *Stats)
{
  return true;
}

bool CHWShader::PreactivateShaders()
{
  bool bRes = true;
  return bRes;
}
void CHWShader::RT_PreactivateShaders()
{
}

const char *CHWShader::GetCurrentShaderCombinations(bool bLevel)
{
  return "";
}

void CHWShader::mfFlushPendedShadersWait(int nMaxAllowed)
{
}

void CHWShader::mfLazyUnload()
{
}
bool CHWShader::PreactivateCommon(CHWShader *pShader, std::vector<SCacheCombination> &List)
{
  return true;
}
void CHWShader::mfBeginFrame(int nMaxToFlush)
{
}

void SRenderShaderResources::RT_UpdateConstants(IShader *pSH)
{
}

void SRenderShaderResources::CloneConstants(const IRenderShaderResources* pSrc)
{
}

void SRenderShaderResources::ReleaseConstants()
{
}

void CShader::mfFlushPendedShaders()
{
}

void SShaderCache::Cleanup(void)
{

}

void SRenderShaderResources::AdjustForSpec()
{

}
